<?php

App::uses('AppController', 'Controller');

class ContactsController extends AppController {

	var $name = 'Contacts';
	var $uses = array('Contact');


	/**
	 * Contact
	 *
	 * @param type  meta
	 * @return type  meta
	 * @access public
	 */
	function index()
	{
		if(!empty($this->request->data)) {

			$data = &$this->request->data['Contact'];

			$capcha = $this->Session->read('send-contact');

			$this->Contact->set($data);

			if($capcha != $data['captcha']) {
				$this->Contact->validationErrors['captcha'] = array('Mã xác nhận không đúng');
			}


			$errors = $this->Contact->invalidFields();

			if( empty($errors)) {
				$data['status'] = 0;
				unset($data['captcha']);

				if($this->Contact->save($data, false)) {
					App::uses('Codetbl', 'Model');
					$CT = new Codetbl();
					$info = $CT->getInfo();

					$mail_data = array(
                        'data' => $data,
                        'to' => $info['c']['value'],
                        'subject' => $data['title'],
                        'type' => 'html',
                        'template' => 'contact'
                    );

                    $this->Common->send_mail($mail_data);

					$data = null;

					$this->Session->setFlash('Gửi mail thành công.', 'success');
				} else {
					$this->Session->setFlash('Gửi mail thất bại.', 'error');
				}
			} else {
				$this->Session->setFlash('Gửi mail thất bại.', 'error');
			}
		}

		App::uses('GoogleMap', 'Model');
		$GoogleMap = new GoogleMap();

		$info = $GoogleMap->getInfoById();
		$this->set('map', $info['GoogleMap']);
	}

	/**
	 * Danh sach liên hệ
	 *
	 * @param type  meta
	 * @return type  meta
	 * @access public
	 */
	function admin_index()
	{
		$this->paginate = array( 'order'=> array('status' => 'asc'));
        $items = $this->paginate();
		$this->set('items', $items);
	}

	/**
	 * Xem chi tiet
	 *
	 * @param type  meta
	 * @return type  meta
	 * @access public
	 */
	function admin_detail($id = null)
	{
		$this->set('contact', $this->Contact->read(array(), (int)$id));
		$this->Contact->id = (int)$id;
		$this->Contact->saveField('status', 1);
	}

	/**
	 * delete san pham
	 *
	 * @param type  meta
	 * @return type  meta
	 * @access public
	 */
	function admin_delete($id = null){
		if(!empty($id)) {
			$id = (int)$id;
			if($this->Contact->delete($id)) {
				$this->Session->setFlash('Xóa tin nhắn thành công.', 'success');
			} else {
				$this->Session->setFlash('Xóa tin nhắn thất bại. Vui lòng thử lại sao', 'error');
			}
		} else {
			$this->Session->setFlash('Không tìm thấy tin nhắn. Vui lòng thử lại sao', 'error');
		}
		$this->redirect('/admin/contacts');
	}

	/**
	 * Google map
	 *
	 * @param type  meta
	 * @return type  meta
	 * @access public
	 */
	function admin_map(){
		App::uses('GoogleMap', 'Model');
		$GoogleMap = new GoogleMap();

		$info = $GoogleMap->getInfoById();
		$this->set('map', $info['GoogleMap']);
	}

	/**
	 * chang google map
	 *
	 * @param type  meta
	 * @return type  meta
	 * @access public
	 */
	function admin_location(){
		if(!empty($this->request->data)) {
			App::uses('GoogleMap', 'Model');
			$GoogleMap = new GoogleMap();

			$this->request->data['id'] = 1;

			$GoogleMap->save($this->request->data);

			$this->_responseJson(array('code' => 'ok'));
		}
	}
}
